﻿namespace swe.Core
{
	public interface IStateMachineController<in T, in TR>
	{
		/// <summary>
		/// Updates the object.
		/// </summary>
		/// <param name="additionalObj">The additional obj.</param>
		void UpdateObject(T additionalObj);

		/// <summary>
		/// Returns data from state machine.
		/// </summary>
		/// <param name="data">The data.</param>
		void Return(TR data);
	}
}